﻿using System;
using System.ComponentModel;
using DevExpress.Xpo;
using DevExpress.Data.Filtering;
using DevExpress.ExpressApp;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
namespace Top.Module.Domain
{
    [DefaultClassOptions]
    public class TopRefundMessage : BaseObject
    {
        //begin
        public TopRefundMessage(Session session) : base(session)
        {}
        public override void AfterConstruction(){base.AfterConstruction();}

        private string _Id;
        [Size(SizeAttribute.Unlimited)]
        public string Id
        {
            get
            {
                return _Id;
            }
            set
            {
                SetPropertyValue("Id", ref _Id, value);
            }
        }
        private string _RefundId;
        [Size(SizeAttribute.Unlimited)]
        public string RefundId
        {
            get
            {
                return _RefundId;
            }
            set
            {
                SetPropertyValue("RefundId", ref _RefundId, value);
            }
        }
        private string _OwnerId;
        [Size(SizeAttribute.Unlimited)]
        public string OwnerId
        {
            get
            {
                return _OwnerId;
            }
            set
            {
                SetPropertyValue("OwnerId", ref _OwnerId, value);
            }
        }
        private string _OwnerNick;
        [Size(SizeAttribute.Unlimited)]
        public string OwnerNick
        {
            get
            {
                return _OwnerNick;
            }
            set
            {
                SetPropertyValue("OwnerNick", ref _OwnerNick, value);
            }
        }
        private string _OwnerRole;
        [Size(SizeAttribute.Unlimited)]
        public string OwnerRole
        {
            get
            {
                return _OwnerRole;
            }
            set
            {
                SetPropertyValue("OwnerRole", ref _OwnerRole, value);
            }
        }
        private string _Content;
        [Size(SizeAttribute.Unlimited)]
        public string Content
        {
            get
            {
                return _Content;
            }
            set
            {
                SetPropertyValue("Content", ref _Content, value);
            }
        }
        [Association("RefundMessagePicUrls", typeof(TopPicUrl))]
        public XPCollection PicUrls
        {
            get
            {
                return GetCollection("PicUrls");
            }
        }
        private DateTime _Created;
        public DateTime Created
        {
            get
            {
                return _Created;
            }
            set
            {
                SetPropertyValue("Created", ref _Created, value);
            }
        }
        private string _MessageType;
        [Size(SizeAttribute.Unlimited)]
        public string MessageType
        {
            get
            {
                return _MessageType;
            }
            set
            {
                SetPropertyValue("MessageType", ref _MessageType, value);
            }
        }
        //end
    }
}
